home *** CD-ROM | disk | FTP | other *** search
/ Programming a Multiplayer FPS in DirectX / Programming a Multiplayer FPS in DirectX (Companion CD).iso / DirectX / dxsdk_oct2004.exe / dxsdk.exe / Utilities / MView / gxu / filestrm.h < prev    next >
Encoding:
C/C++ Source or Header  |  2004-09-30  |  1.8 KB  |  53 lines

  1. #pragma once
  2.  
  3. #ifndef __FILESTRM_H_
  4. #define __FILESTRM_H_
  5.  
  6. /*//////////////////////////////////////////////////////////////////////////////
  7. //
  8. // File: filestrm.h
  9. //
  10. // Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
  11. //
  12. //
  13. //////////////////////////////////////////////////////////////////////////////*/
  14.  
  15. #include <objidl.h>
  16.  
  17.  
  18. class CFileStream : public IStream
  19. {
  20. public: 
  21.     
  22.     CFileStream(LPCTSTR filename, BOOL bReadOnly, BOOL bTruncate, HRESULT *error);
  23.     ~CFileStream();
  24.     
  25.     // IUnknown methods
  26.     STDMETHODIMP_(ULONG) AddRef(void);
  27.     STDMETHODIMP_(ULONG) Release(void);
  28.     STDMETHODIMP QueryInterface(REFIID, LPVOID FAR*);
  29.     
  30.     // Implemented IStream methods
  31.     STDMETHODIMP Read(void __RPC_FAR *pv, ULONG cb, ULONG __RPC_FAR *pcbRead);
  32.     STDMETHODIMP Write(const void __RPC_FAR *pv, ULONG cb, ULONG __RPC_FAR *pcbWritten);
  33.     STDMETHODIMP Seek(LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER __RPC_FAR *plibNewPosition);
  34.     STDMETHODIMP Stat(STATSTG __RPC_FAR *pstatstg, DWORD grfStatFlag);
  35.     
  36.     // Unimplemented IStream methods
  37.     STDMETHODIMP SetSize(ULARGE_INTEGER libNewSize) {return E_NOTIMPL;}
  38.     STDMETHODIMP CopyTo(IStream __RPC_FAR *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER __RPC_FAR *pcbRead, ULARGE_INTEGER __RPC_FAR *pcbWritten) {return E_NOTIMPL;}
  39.     STDMETHODIMP Commit(DWORD grfCommitFlags) {return E_NOTIMPL;}
  40.     STDMETHODIMP Revert(void) {return E_NOTIMPL;}
  41.     STDMETHODIMP LockRegion(ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) {return E_NOTIMPL;}
  42.     STDMETHODIMP UnlockRegion(ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) {return E_NOTIMPL;}
  43.     STDMETHODIMP Clone(IStream __RPC_FAR *__RPC_FAR *ppstm) {return E_NOTIMPL;}
  44.     
  45. private:
  46.     
  47.     DWORD m_cRef;
  48.     HANDLE m_hfile;    
  49.     
  50. };
  51.  
  52. #endif // #ifndef __FILESTRM_H_
  53.